package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import negocio.Medico;
import negocio.Sistema;
import negocio.Turno;

import ventanas.VentanaCambiarEstadoTurnos;

public class ControladorVentanaCambiarEstadoTurnos implements ActionListener {

	private VentanaCambiarEstadoTurnos v;
	private Sistema s;
	
	public ControladorVentanaCambiarEstadoTurnos(VentanaCambiarEstadoTurnos ventana){
		this.v = ventana;
		this.s = Sistema.obtenerInstancia();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource()==v.getBtnAsignarTurnos()){
			Date fecha = v.getV().getCalendario().getDate();
			Calendar c= Calendar.getInstance();
			c.setTime(fecha);
			Medico medico = (Medico)v.getV().getCombo().getSelectedItem();
			String estado = (String)v.getComboEstados().getModel().getSelectedItem();
			
			List<Turno> turnos = s.obtenerTurnosEnFecha(medico, c);
			if(!turnos.isEmpty()){
				for(Turno t:turnos){
					t.setEstado(estado);
					if(estado.equals("Disponible") || estado.equals("Cancelado")){
						t.setPaciente(null);
					}
				}
				s.actualizarTurnos(turnos);
				v.getV().actualizarTabla(c);
			}
			v.dispose();
		}
		
		if(e.getSource()==v.getBtnCancelar()){
			v.dispose();
		}
	}
}
